import axios from 'axios'

axios.interceptors.request.use(config => {
  // 获取token，并将其添加至请求头中
  const token = window.sessionStorage.getItem('token')
  config.headers['tf_token'] = token || ''
  return config
})
axios.interceptors.response.use(
  // 请求成功
  res => {
    if (res.data.code == 200) res.data.code = 0
    return res.data
  }
)

export default {
  getLogin(data) {
    return axios.post('/zzjg/rybm/get', data)
  },
  // 组织机构
  zzjg: {
    /**获取单位部门 */
    getDwbm(params) {
      return axios.post('/zzjg/dwbm/queryByDwbm', params)
    },
    // 获取单位下拉列表
    dwbmQueryByDwbm(data) {
      return axios.post('/zzjg/dwbm/queryByDwbm', data)
    },
    // 树
    queryByDwbm(data) {
      return axios.post('/zzjg/rybm/queryByDwbm', data)
    },
    //
    queryZzjgRole(data) {
      return axios.post('/zzjg/bmbm/queryByDwbm', data)
    },

    // 表格
    queryTable(data) {
      return axios.post('/zzjg/rybm/query', data)
    },
    // 停职，复职
    stopWork(data) {
      return axios.post('/zzjg/rybm/suspension', data)
    },
    // 清空密码
    emptyPwd(data) {
      return axios.post('/zzjg/rybm/emptyPwd', data)
    },
    // 添加人员
    addPerson(data) {
      return axios.post('/zzjg/rybm/add', data)
    },
    // 设置人员登录方式
    setPersonLoginMode(data) {
      return axios.post('/zzjg/rybm/loginType', data)
    },
    // 获取回收站的部门信息
    queryBmbmByRecycle(data) {
      return axios.post('/zzjg/bmbm/queryByRecycle', data)
    },
    // 获取回收站的人员信息
    queryRyglByRecycle(data) {
      return axios.post('/zzjg/rybm/queryByRecycle', data)
    },
    // 删除放入回收站
    deleteIntoRecycle(data) {
      return axios.post('/zzjg/rybm/delete', data)
    },
    // 恢复人员
    resumeByRecycle(data) {
      return axios.post('/zzjg/rybm/resumeByRecycle', data)
    },
    // 登录
    toLogin(data) {
      return axios.post('/zzjg/rybm/login', data)
    },
    // 删除回收站人员
    deletRyRecycle(data) {
      return axios.post('/zzjg/rybm/deleteByRecycle', data)
    },
    // 新增部门
    addBm(data) {
      return axios.post('/zzjg/bmbm/add', data)
    },
    // 删除部门
    deletBm(data) {
      return axios.post('/zzjg/bmbm/delete', data)
    },
    // 获取单位下部门下拉列表
    getBmSelect(data) {
      return axios.post('/zzjg/bmbm/queryByDwbm', data)
    },
    // 同步部门数据
    tbbmsj(data) {
      return axios.post('/zzjg/dwbm/synchronize', data)
    },
    // 恢复回收站部门
    resumeByRecycleBm(data) {
      return axios.post('/zzjg/bmbm/resumeByRecycle', data)
    },
    // 永久删除回收站部门
    yjscBm(data) {
      return axios.post('/zzjg/bmbm/deleteByRecycle', data)
    },
    // 修改部门
    changeBm(data) {
      return axios.post('/zzjg/bmbm/update', data)
    },
    // 获取部门信息
    getBmInfo(data) {
      return axios.post('/zzjg/bmbm/get', data)
    },
    // 获取单位信息
    getDwInfo(data) {
      return axios.post('/zzjg/dwbm/get', data)
    },
    // 获取个人信息
    getGrInfo(data) {
      return axios.post('/zzjg/rybm/get', data)
    },
    // 新增角色
    addRoleApi(data) {
      return axios.post('/zzjg/jsbm/add', data)
    },
    // (把当前部门的角色复制出去)
    copyRole(data) {
      return axios.post('/zzjg/jsbm/copyRole', data)
    },
    getRoleInfo(data) {
      return axios.post('/zzjg/jsbm/get', data)
    },
    // 修改角色
    updateRoleApi(data) {
      return axios.post('/zzjg/jsbm/update', data)
    },
    // 删除角色
    deletRoleApi(data) {
      return axios.post('/zzjg/jsbm/delete', data)
    },

    // 修改人员编码
    updateRybm(data) {
      return axios.post('/zzjg/rybm/update', data)
    },
    // 新增人员角色分配
    addryjsfp(data) {
      return axios.post('/zzjg/ryjsfp/add', data)
    },
    // 获取列表人员编码(人员列表)
    queryRyList(data) {
      return axios.post('/zzjg/rybm/queryRyList', data)
    },
    // 对单位下的角色下拉列表
    queryByDwjsbm(data) {
      return axios.post('/zzjg/jsbm/queryByDw', data)
    },
    // 删除人员角色分配
    deleteryjsfp(data) {
      return axios.post('/zzjg/ryjsfp/delete', data)
    },
    //  添加角色审批显示名称
    addBtnSpxsmc() {
      return axios.post('/sp/spjbdy//queryAll')
    },
    // 获取单位下最大的部门序号
    findMaxXhByDwbm(data) {
      return axios.post('/zzjg/bmbm/findMaxXhByDwbm', data)
    },
    // 获取单位下部门下拉列表
    queryByDwbmBmbm(data) {
      return axios.post('/zzjg/bmbm/queryByDwbm', data)
    },
    // 获取单位列表
    queryListByDwbm(data) {
      return axios.post('/zzjg/dwbm/queryListByDwbm', data)
    },
    // 根据lbbm查询分类代码树
    queryBmLbFldm(data) {
      return axios.post('/dm/bmfldm/listBmfldm', data)
    },
    // 添加人员序号接口
    findMaxXhRybm(data) {
      return axios.post('/zzjg/rybm/findMaxXh', data)
    },
    // 解锁
    jieShuoApi(data) {
      return axios.post('/zzjg/rybm/emptyDlcs', data)
    },
    // 重置密码
    chongzhimima(data) {
      return axios.post('/zzjg/rybm/updatePwd', data)
    }
  },
  // 用户权限
  yhqx: {
    // 报表指标集合
    listBbzbgl(data) {
      return axios.post('/bbgl/listBbzbgl', data)
    },
    // 指标分析--指标集合树
    zbdyList(data) {
      return axios.post('/zbfx/zbdyList', data)
    },
    queryByDwbmYhqx(data) {
      return axios.post('/zzjg/rybm/queryByDwQx', data)
    },
    // 点击角色获取table表格
    queryByJs(data) {
      return axios.post('/qx/jsgnfp/queryByJs', data)
    },
    // 点击人员获取table表格
    queryByRy(data) {
      return axios.post('/qx/gndy/queryByRy', data)
    },
    // 添加功能 获取单位下功能下拉列表
    queryByDw(data) {
      return axios.post('/qx/gndy/queryByDw', data)
    },
    // 新增角色功能分配(多个功能)
    addRoleGnfp(data) {
      return axios.post('/qx/jsgnfp/add', data)
    },
    // 新增人员功能分配
    addRyGnfp(data) {
      return axios.post('/qx/rygnfp/add', data)
    },
    // 复制功能
    copyGnApi(data) {
      return axios.post('/qx/gndy/copy', data)
    },
    // 删除角色功能分配
    deleteJsgnfp(data) {
      return axios.post('/qx/jsgnfp/delete', data)
    },
    // 删除人员功能分配
    deleteRygnfp(data) {
      return axios.post('/qx/rygnfp/delete', data)
    },
    // 获取人员或角色的组件
    queryByRyOrJs(data) {
      return axios.post('/QX/zjdy/queryByRyOrJs', data)
    },
    // 添加组件时,获取人员或角色的组件
    queryByDwzjdy(data) {
      return axios.post('/QX/zjdy/queryByDw', data)
    },
    // 新增角色组件配置表
    addjszjpz(data) {
      return axios.post('/qx/jszjpz/add', data)
    },

    // 新增人员组件配置表
    addryzjpz(data) {
      return axios.post('/qx/ryzjpz/add', data)
    },
    // 复制组件
    copyzjdy(data) {
      return axios.post('/QX/zjdy/copy', data)
    },
    // 删除人员组件配置表
    deleteryzjpz(data) {
      return axios.post('/qx/ryzjpz/delete', data)
    },
    // 修改功能参数
    updateGncsgndy(data) {
      return axios.post('/qx/gndy/updateGncs', data)
    }
  },
  // 日志查询
  rzcx: {
    // 查询日志
    rzcxLists(data) {
      return axios.post('/rz/czrz/query', data)
    },
    // 获取单位下拉列表
    getDwSelects(data) {
      return axios.post('/zzjg/dwbm/queryByDwbm', data)
    },
    // 获取详情日志
    getSingleRz(data) {
      return axios.post('/rz/czrz/get', data)
    },
    // 获取分类
    getqueryLx(data) {
      return axios.post('/rz/czrz/queryLx', data)
    }
  },
  // 功能组件
  gnzj: {
    // 系统组件树
    queryTree(data) {
      return axios.post('/qx/gndy/queryByDw', data)
    },
    // 获取功能分类
    getGnfl(data) {
      return axios.post('/qx/gnfl/get', data)
    },
    // 获取列表功能定义
    getTable(data) {
      return axios.post('/qx/gndy/query', data)
    },
    // 组件分类树
    queryTree2(data) {
      return axios.post('/QX/zjfl/query', data)
    },
    // 获取列表系统组件定义表
    getTable2(data) {
      return axios.post('/QX/zjdy/query', data)
    },
    // 获取功能分类
    getSelects(data) {
      return axios.post('/qx/gnfl/queryByDw', data)
    },
    // 获取功能分类最大序号
    getMaxXh(data) {
      return axios.post('/qx/gnfl/queryMaxXh', data)
    },
    // 新增功能定义
    addGnDy(data) {
      return axios.post('/qx/gndy/add', data)
    },
    // 获取功能定义
    getGnDy(data) {
      return axios.post('/qx/gndy/get', data)
    },
    // 修改功能定义
    changeGndy(data) {
      return axios.post('/qx/gndy/update', data)
    },
    // 删除功能定义
    delete(data) {
      return axios.post('/qx/gndy/delete', data)
    },
    // 新增功能分配
    addGnfp(data) {
      return axios.post('/qx/gnfl/add', data)
    },
    // 新增组件定义表
    addZjdy(data) {
      return axios.post('/QX/zjdy/add', data)
    },
    // 获取组件分类下拉列表
    queryZjflByDwbm(data) {
      return axios.post('/QX/zjfl/queryZjflByDwbm', data)
    },
    // 获取系统组件定义表
    getZjdy(data) {
      return axios.post('/QX/zjdy/get', data)
    },
    // 删除系统组件定义表
    deleteZjdy(data) {
      return axios.post('/QX/zjdy/delete', data)
    },

    // 修改系统组件定义表
    updateZjdy(data) {
      return axios.post('/QX/zjdy/update', data)
    },

    // 修改功能分类
    updateGnfl(data) {
      return axios.post('/qx/gnfl/update', data)
    },
    // 新增组件分类
    addZjfl(data) {
      return axios.post('/QX/zjfl/add', data)
    },
    // 删除功能分类
    deleteGnfl(data) {
      return axios.post('/qx/gnfl/delete', data)
    },
    // 删除组件分类
    deleteZjfl(data) {
      return axios.post('/QX/zjfl/delete', data)
    },
    // 修改组件分类
    updateZjfl(data) {
      return axios.post('/QX/zjfl/update', data)
    },
    // 获取组件分类
    getSingZjfl(data) {
      return axios.post('/QX/zjfl/get', data)
    },

    // 修改功能参数
    updateGncs(data) {
      return axios.post('/qx/gndy/updateGncs', data)
    },
    // 获取功能参数
    getGncs(data) {
      return axios.post('/qx/gndy/getGncs', data)
    }
  },
  // 本院代码
  bydm: {
    // 左边
    queryLeftMenu(data) {
      return axios.post('/dm/fldmlb/query', data)
    },
    // 根据lbbm查询分类代码树
    queryTable(data) {
      return axios.post('/dm/fldm/queryBmLb', data)
    },
    // 新增分类代码类别
    addFldmlb(data) {
      return axios.post('/dm/fldmlb/add', data)
    },
    // 删除
    deletFldmlb(data) {
      return axios.post('/dm/fldmlb/delete', data)
    },
    // 查询单个
    serchSingNode(data) {
      return axios.post('/dm/fldmlb/get', data)
    },
    // 修改单个
    changeSingNode(data) {
      return axios.post('/dm/fldmlb/update', data)
    },
    // 检查类别编码是否可用
    checkLbbm(data) {
      return axios.post('/dm/fldmlb/checkLbbm', data)
    },
    // 要号
    yaohao(data) {
      return axios.post('/dm/fldm/getDm', data)
    },
    // 添加分类代码弹框
    addDiaApi(data) {
      return axios.post('/dm/fldm/add', data)
    },
    // 修改
    changeDiaApi(data) {
      return axios.post('/dm/fldm/update', data)
    },
    // 删除
    deletDiaApi(data) {
      return axios.post('/dm/fldm/delete', data)
    },
    // 获取代码
    getFldm(data) {
      return axios.post('/dm/fldm/get', data)
    }
  }
}

function get() {
  return axios.get(encodeURI(arguments[0]), arguments[1][0], arguments[1][1])
}
function post() {
  return axios.post(encodeURI(arguments[0]), arguments[1][0], arguments[1][1])
}